// 设置页面JavaScript

document.addEventListener('DOMContentLoaded', function() {
    // 初始化Level和Unit选择器
    initializeLevelSelector();
    initializeUnitSelector();
    
    // 表单提交事件
    const form = document.getElementById('quiz-settings-form');
    if (form) {
        form.addEventListener('submit', function(e) {
            e.preventDefault();
            // 添加按钮动画效果
            const submitBtn = form.querySelector('button[type="submit"]');
            submitBtn.classList.add('pulse');
            
            setTimeout(() => {
                startQuiz();
            }, 300);
        });
    }
    
    // 添加页面加载动画
    document.querySelector('.settings-section').classList.add('fade-in');
});

// 初始化Level选择器
function initializeLevelSelector() {
    const levelContainer = document.getElementById('level-checkboxes');
    if (!levelContainer) return;
    
    // 生成Level 1-5的复选框
    for (let i = 1; i <= 5; i++) {
        const label = document.createElement('label');
        label.innerHTML = `
            <input type="checkbox" name="level" value="${i}" checked>
            <span>Level ${i}</span>
        `;
        label.querySelector('input').addEventListener('change', handleLevelChange);
        levelContainer.appendChild(label);
    }
}

// 初始化Unit选择器
function initializeUnitSelector() {
    const unitContainer = document.getElementById('unit-checkboxes');
    if (!unitContainer) return;
    
    // 生成Unit 1-8的复选框
    for (let i = 1; i <= 8; i++) {
        const label = document.createElement('label');
        label.innerHTML = `
            <input type="checkbox" name="unit" value="${i}" checked>
            <span>Unit ${i}</span>
        `;
        unitContainer.appendChild(label);
    }
}

// 全选Level
function selectAllLevels() {
    const checkboxes = document.querySelectorAll('input[name="level"]');
    checkboxes.forEach(cb => {
        cb.checked = true;
        handleLevelChange.call(cb);
    });
}

// 清空Level选择
function deselectAllLevels() {
    const checkboxes = document.querySelectorAll('input[name="level"]');
    checkboxes.forEach(cb => cb.checked = false);
}

// 处理Level选择变化
function handleLevelChange() {
    // 这里可以添加处理逻辑，但目前我们保持简单
    // 当用户选择或取消选择Level时，可以自动选择或取消选择对应的Unit
    // 但根据需求，我们允许用户只选择某几个Level的某几个Unit
}

// 全选Unit
function selectAllUnits() {
    const checkboxes = document.querySelectorAll('input[name="unit"]');
    checkboxes.forEach(cb => cb.checked = true);
}

// 清空Unit选择
function deselectAllUnits() {
    const checkboxes = document.querySelectorAll('input[name="unit"]');
    checkboxes.forEach(cb => cb.checked = false);
}

// 全选题型
function selectAllQuizTypes() {
    const checkboxes = document.querySelectorAll('input[name="quiz-type"]');
    checkboxes.forEach(cb => cb.checked = true);
}

// 清空题型选择
function deselectAllQuizTypes() {
    const checkboxes = document.querySelectorAll('input[name="quiz-type"]');
    checkboxes.forEach(cb => cb.checked = false);
}

// 开始考试
function startQuiz() {
    // 获取选择的题型
    const quizTypes = Array.from(document.querySelectorAll('input[name="quiz-type"]:checked'))
                           .map(cb => cb.value);
    
    // 获取选择的Level
    const levels = Array.from(document.querySelectorAll('input[name="level"]:checked'))
                        .map(cb => parseInt(cb.value));
    
    // 获取选择的Unit
    const units = Array.from(document.querySelectorAll('input[name="unit"]:checked'))
                       .map(cb => parseInt(cb.value));
    
    // 获取题目数量
    const questionCount = document.getElementById('question-count').value;
    
    // 验证是否有选择
    if (quizTypes.length === 0) {
        alert('请至少选择一种题型！');
        return;
    }
    
    if (levels.length === 0 || units.length === 0) {
        alert('请至少选择一个Level和一个Unit！');
        return;
    }
    
    // 构造考试参数
    const quizParams = {
        types: quizTypes,
        levels: levels,
        units: units,
        count: questionCount
    };
    
    // 保存到本地存储并跳转到考试页面
    localStorage.setItem('quizParams', JSON.stringify(quizParams));
    window.location.href = '/quiz';
}